package GUI;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import helpers.Operations;
import main.IntegerP;
import main.RealP;
public class GUI extends Operations {
private String SA, SB, SR, SRes;
private IntegerP A = new IntegerP();
private IntegerP B = new IntegerP();
private RealP ResultR = new RealP();
private IntegerP ResultI = new IntegerP();
private int select;
private JFrame frame;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
private JTextField textField_6;
private JTextField textField_7;
public static void main(String[] args) {
GUI window = new GUI();
window.frame.setVisible(true);
}
public GUI() {
initialize();
}
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setSize(455, 305);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
textField = new JTextField();
textField.setBounds(79, 11, 245, 20);
frame.getContentPane().add(textField);
textField.setColumns(10);
textField_1 = new JTextField();
textField_1.setColumns(10);
textField_1.setBounds(79, 42, 245, 20);
frame.getContentPane().add(textField_1);
JLabel lblPolynomA = new JLabel("Polynom A");
lblPolynomA.setBounds(13, 14, 87, 14);
frame.getContentPane().add(lblPolynomA);
JLabel lblPolynomB = new JLabel("Polynom B");
lblPolynomB.setBounds(13, 45, 91, 14);
frame.getContentPane().add(lblPolynomB);
JButton btnUpdate = new JButton("Update");
btnUpdate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
SA = textField.getText();
A = toPolynomI(SA);
SA = toStringI(A);
textField_2.setText(SA);
}
});
btnUpdate.setBounds(343, 10, 77, 23);
frame.getContentPane().add(btnUpdate);
JButton button = new JButton("Update");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
SB = textField_1.getText();
B = toPolynomI(SB);
SB = toStringI(B);
textField_4.setText(SB);
}
});
button.setBounds(342, 41, 78, 23);
frame.getContentPane().add(button);
textField_2 = new JTextField();
textField_2.setEditable(false);
textField_2.setBounds(69, 73, 351, 20);
frame.getContentPane().add(textField_2);
textField_2.setColumns(10);
textField_2.setText(toStringI(A));
JRadioButton rdbtnA = new JRadioButton("A -");
JRadioButton rdbtnB = new JRadioButton("B -");
JRadioButton rdbtnResult = new JRadioButton("Result");
rdbtnA.setSelected(true);
rdbtnA.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (rdbtnA.isEnabled()) {
select = 0;
rdbtnA.setSelected(true);
rdbtnB.setSelected(false);
rdbtnResult.setSelected(false);
}
}
});
rdbtnA.setBounds(13, 70, 50, 23);
frame.getContentPane().add(rdbtnA);
rdbtnB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (rdbtnB.isEnabled()) {
select = 1;
rdbtnB.setSelected(true);
rdbtnA.setSelected(false);
rdbtnResult.setSelected(false);
}
}
});
rdbtnB.setBounds(13, 107, 50, 23);
frame.getContentPane().add(rdbtnB);
JButton btnAB = new JButton("A + B");
btnAB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ResultR = addP(toRealP(A), toRealP(B));
SR = toStringR(ResultR);
textField_3.setText(SR);
textField_6.setText("");
}
});
btnAB.setBounds(146, 141, 66, 23);
frame.getContentPane().add(btnAB);
JButton btnAB_1 = new JButton("A - B");
btnAB_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ResultR = subP(toRealP(A), toRealP(B));
SR = toStringR(ResultR);
textField_3.setText(SR);
textField_6.setText("");
}
});
btnAB_1.setBounds(217, 141, 61, 23);
frame.getContentPane().add(btnAB_1);
JButton btnAB_2 = new JButton("A * B");
btnAB_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
ResultR = mulP(toRealP(A), toRealP(B));
SR = toStringR(ResultR);
textField_3.setText(SR);
textField_6.setText("");
}
});
btnAB_2.setBounds(288, 141, 61, 23);
frame.getContentPane().add(btnAB_2);
JButton btnAB_3 = new JButton("A / B");
btnAB_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ResultR = divP(toRealP(A), toRealP(B));
SA = toStringR(ResultR);
textField_3.setText(SA);
SA = toStringR(getRemain());
textField_6.setText(SA);
}
});
btnAB_3.setBounds(359, 141, 61, 23);
frame.getContentPane().add(btnAB_3);
JButton btnIntegrate = new JButton("Integrate");
btnIntegrate.setToolTipText("for [Result] polynomial");
btnIntegrate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int C = Integer.parseInt(textField_5.getText());
if (select == 0) {
ResultR = toRealP(A);
ResultR = integrateR(ResultR, C);
SA = toStringR(ResultR);
textField_3.setText(SA);
textField_6.setText("");
} else if (select == 1) {
ResultR = toRealP(B);
ResultR = integrateR(ResultR, C);
SB = toStringR(ResultR);
textField_3.setText(SB);
textField_6.setText("");
} else {
SRes = textField_3.getText();
ResultR = toPolynomR(SRes);
ResultR = integrateR(ResultR, C);
SRes = toStringR(ResultR);
textField_3.setText(SRes);
textField_6.setText("");
}
}
});
btnIntegrate.setBounds(333, 243, 87, 23);
frame.getContentPane().add(btnIntegrate);
JButton btnDerivate = new JButton("Derivate");
btnDerivate.setToolTipText("for [Result] polynomial");
btnDerivate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if (select == 0) {
ResultI = derivateI(A);
SR = toStringI(ResultI);
textField_3.setText(SR);
textField_6.setText("");
} else if (select == 1) {
ResultI = derivateI(B);
SR = toStringI(ResultI);
textField_3.setText(SR);
textField_6.setText("");
} else {
SRes = textField_3.getText();
ResultR = toPolynomR(SRes);
ResultR = derivateR(ResultR);
SRes = toStringR(ResultR);
textField_3.setText(SRes);
textField_6.setText("");
}
}
});
btnDerivate.setBounds(13, 243, 88, 23);
frame.getContentPane().add(btnDerivate);
textField_3 = new JTextField();
textField_3.setEditable(false);
textField_3.setBounds(69, 175, 351, 20);
frame.getContentPane().add(textField_3);
textField_3.setColumns(10);
JButton btnA = new JButton("A");
btnA.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
A = toPolynomI(SA);
SA = toStringI(A);
textField_3.setText(SA);
textField_6.setText("");
}
});
btnA.setBounds(13, 141, 61, 23);
frame.getContentPane().add(btnA);
JButton btnB = new JButton("B");
btnB.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
B = toPolynomI(SB);
SB = toStringI(B);
textField_3.setText(SB);
textField_6.setText("");
}
});
btnB.setBounds(79, 141, 61, 23);
frame.getContentPane().add(btnB);
textField_4 = new JTextField();
textField_4.setText(toStringI(B));
textField_4.setEditable(false);
textField_4.setColumns(10);
textField_4.setBounds(69, 108, 351, 20);
frame.getContentPane().add(textField_4);
textField_5 = new JTextField();
textField_5.setBounds(304, 244, 26, 20);
frame.getContentPane().add(textField_5);
textField_5.setColumns(10);
textField_5.setText("0");
JLabel lblC = new JLabel("C");
lblC.setBounds(288, 247, 13, 14);
frame.getContentPane().add(lblC);
JLabel lblRemain = new JLabel("Remain");
lblRemain.setBounds(13, 209, 50, 14);
frame.getContentPane().add(lblRemain);
textField_6 = new JTextField();
textField_6.setEditable(false);
textField_6.setColumns(10);
textField_6.setBounds(69, 206, 351, 20);
frame.getContentPane().add(textField_6);
JLabel lblX = new JLabel("X");
lblX.setBounds(132, 247, 13, 14);
frame.getContentPane().add(lblX);
textField_7 = new JTextField();
textField_7.setText("0");
textField_7.setColumns(10);
textField_7.setBounds(146, 244, 26, 20);
frame.getContentPane().add(textField_7);
JButton btnEvaluate = new JButton("Evaluate");
btnEvaluate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int X = Integer.parseInt(textField_7.getText());
int ResI;
float ResR;
if (select == 0) {
ResI = evaluateI(A, X);
SA = "" + ResI;
textField_3.setText(SA);
textField_6.setText("");
} else if (select == 1) {
ResI = evaluateI(B, X);
SB = "" + ResI;
textField_3.setText(SB);
textField_6.setText("");
} else {
SRes = textField_3.getText();
ResultR = toPolynomR(SRes);
ResR = evaluateR(ResultR, X);
SRes = "" + ResR;
textField_3.setText(SRes);
textField_6.setText("");
}
}
});
btnEvaluate.setToolTipText("for [Result] polynomial");
btnEvaluate.setBounds(174, 243, 87, 23);
frame.getContentPane().add(btnEvaluate);
rdbtnResult.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (rdbtnResult.isEnabled()) {
select = 2;
rdbtnB.setSelected(false);
rdbtnA.setSelected(false);
rdbtnResult.setSelected(true);
}
}
});
rdbtnResult.setBounds(6, 174, 61, 23);
frame.getContentPane().add(rdbtnResult);
}
}